Skip to content

.NET: [BREAKING] Rename to AgentIsolationKeyProvider - #7567

Merged
SergeyMenshykh merged 4 commits into
microsoft:mainfrom
SergeyMenshykh:sergeymenshykh-rename-store-isolation-provider
Aug 7, 2026
Merged

.NET: [BREAKING] Rename to AgentIsolationKeyProvider#7567
SergeyMenshykh merged 4 commits into
microsoft:mainfrom
SergeyMenshykh:sergeymenshykh-rename-store-isolation-provider

Conversation

@SergeyMenshykh

@SergeyMenshykh SergeyMenshykh commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Motivation & Context

SessionIsolationKeyProvider is consumed by both IsolationKeyScopedAgentSessionStore and A2A's IsolationKeyScopedTaskStore, partitioning persisted sessions, tasks, and context IDs. The session-specific name is therefore misleading.

Description & Review Guide

  • What are the major changes? Rename the shared provider and related claims-based APIs to AgentIsolationKeyProvider / ClaimsIdentityAgentIsolationKeyProvider / UseClaimsBasedAgentIsolation, and shorten the abstract method to GetIsolationKeyAsync. Consumers, tests, samples, and docs are updated.
  • What is the impact of these changes? Source-breaking API rename with no behavioral change.
  • What do you want reviewers to focus on? Whether the Agent prefix reads correctly. It marks the hosting API domain and disambiguates from generic isolation-key abstractions in other libraries; it does not mean agent instances are isolated. Dropping Store leaves room for future non-store isolation such as memory or retrieval. The XML docs state this explicitly.

Related Issue

No related issue; no other open PR was found for this rename.

Contribution Checklist

  • The code builds clean without any errors or warnings
  • All unit tests pass, and I have added new tests where possible
  • The PR follows the Contribution Guidelines
  • This PR is linked to an issue and there is no other open PR for this issue (see Related Issue above).
  • This is not a breaking change. If it is a breaking change, add the breaking change label (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 824a2e29-e79c-42aa-b28e-aa6c12ec3292
Rename the shared session isolation abstraction to reflect its use for both session and task stores.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 824a2e29-e79c-42aa-b28e-aa6c12ec3292
Copilot AI balanced review requested due to automatic review settings August 7, 2026 11:55
@agent-framework-automation agent-framework-automation Bot added documentation Usage: [Issues, PRs], Target: documentation in the code base and learn docs .NET Usage: [Issues, PRs], Target: .Net breaking change Usage: [PRs], Target: all PRs that introduce changes that are not backward compatible labels Aug 7, 2026
@SergeyMenshykh SergeyMenshykh self-assigned this Aug 7, 2026
@SergeyMenshykh SergeyMenshykh changed the title [BREAKING] .NET: Rename store isolation key provider .NET: [BREAKING] Rename store isolation key provider Aug 7, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Renames the .NET isolation-key API from session-specific terminology to store-wide terminology, covering session and A2A task persistence without behavioral changes.

Changes:

  • Renames providers, options, methods, and DI extensions to StoreIsolation.
  • Updates hosting integrations and tests.
  • Updates samples and documentation.

Reviewed changes

Copilot reviewed 29 out of 29 changed files in this pull request and generated no comments.

Show a summary per file
File Description
dotnet/tests/Microsoft.Agents.AI.Hosting.UnitTests/StoreIsolationKeyProviderTests.cs Updates provider contract tests.
dotnet/tests/Microsoft.Agents.AI.Hosting.UnitTests/IsolationKeyScopedAgentSessionStoreTests.cs Updates session-store tests and messages.
dotnet/tests/Microsoft.Agents.AI.Hosting.UnitTests/ClaimsIdentityStoreIsolationKeyProviderTests.cs Updates claims-provider tests.
dotnet/tests/Microsoft.Agents.AI.Hosting.A2A.UnitTests/IsolationKeyScopedTaskStoreTests.cs Updates task-store provider mocks.
dotnet/tests/Microsoft.Agents.AI.Hosting.A2A.UnitTests/A2AServerServiceCollectionExtensionsTests.cs Updates A2A DI tests.
dotnet/src/Microsoft.Agents.AI.Hosting/StoreIsolationKeyProvider.cs Renames the core provider API.
dotnet/src/Microsoft.Agents.AI.Hosting/Local/InMemoryAgentSessionStore.cs Updates isolation guidance.
dotnet/src/Microsoft.Agents.AI.Hosting/IsolationKeyScopedAgentSessionStoreOptions.cs Updates API references.
dotnet/src/Microsoft.Agents.AI.Hosting/IsolationKeyScopedAgentSessionStore.cs Consumes the renamed provider.
dotnet/src/Microsoft.Agents.AI.Hosting/HostedAgentBuilderExtensions.cs Resolves the renamed DI service.
dotnet/src/Microsoft.Agents.AI.Hosting/AgentSessionStore.cs Updates trust-model documentation.
dotnet/src/Microsoft.Agents.AI.Hosting.AspNetCore/ServiceCollectionExtensions.cs Renames claims-based registration API.
dotnet/src/Microsoft.Agents.AI.Hosting.AspNetCore/ClaimsIdentityStoreIsolationKeyProviderOptions.cs Renames claims-provider options.
dotnet/src/Microsoft.Agents.AI.Hosting.AspNetCore/ClaimsIdentityStoreIsolationKeyProvider.cs Renames the claims-based provider.
dotnet/src/Microsoft.Agents.AI.Hosting.AGUI.AspNetCore/AGUIEndpointRouteBuilderExtensions.cs Updates AG-UI integration.
dotnet/src/Microsoft.Agents.AI.Hosting.A2A/IsolationKeyScopedTaskStore.cs Updates A2A task isolation.
dotnet/src/Microsoft.Agents.AI.Hosting.A2A/A2AServerServiceCollectionExtensions.cs Updates A2A registration and guidance.
dotnet/samples/05-end-to-end/AGUIWebChat/Server/Program.cs Updates sample guidance.
dotnet/samples/05-end-to-end/AGUIClientServer/AGUIServer/Program.cs Updates sample guidance.
dotnet/samples/05-end-to-end/AGUIClientServer/AGUIDojoServer/Program.cs Updates sample guidance.
dotnet/samples/05-end-to-end/AgentWebChat/AgentWebChat.AgentHost/Program.cs Updates isolation examples.
dotnet/samples/05-end-to-end/A2AClientServer/A2AServer/Program.cs Updates isolation examples.
dotnet/samples/02-agents/AGUI/Step05_StateManagement/Server/Program.cs Updates sample guidance.
dotnet/samples/02-agents/AGUI/Step04_HumanInLoop/Server/Program.cs Updates sample guidance.
dotnet/samples/02-agents/AGUI/Step03_FrontendTools/Server/Program.cs Updates sample guidance.
dotnet/samples/02-agents/AGUI/Step02_BackendTools/Server/Program.cs Updates sample guidance.
dotnet/samples/02-agents/AGUI/Step01_GettingStarted/Server/Program.cs Updates sample guidance.
dotnet/samples/02-agents/AGUI/README.md Updates documented API name.
docs/specs/003-dotnet-hosting-protocol-helpers.md Updates specification guidance.

@SergeyMenshykh
SergeyMenshykh marked this pull request as ready for review August 7, 2026 11:59

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agent Framework Review — Iteration 1

Completed passes: 5 | Result: No high-severity findings

Scope: full PR (2 commit(s)): c0ff8a64ef65, 86f9f8d13279

Review passes

  • Correctness (gpt-5.6-sol) — No issues found in this pass.
  • Security Reliability (claude-opus-4.8) — No issues found in this pass.
  • Test Coverage (gpt-5.6-sol) — No issues found in this pass.
  • Failure Modes (claude-opus-4.8) — No issues found in this pass.
  • Design Approach (claude-opus-4.8) — No issues found in this pass.

Comment thread docs/specs/003-dotnet-hosting-protocol-helpers.md Outdated
Drops the `Store` qualifier and keeps an `Agent` prefix so the type is not
confused with generic isolation-key abstractions from other libraries, while
leaving room for future non-store isolation (memory, retrieval).

- StoreIsolationKeyProvider -> AgentIsolationKeyProvider
- ClaimsIdentityStoreIsolationKeyProvider(+Options) -> ClaimsIdentityAgentIsolationKeyProvider(+Options)
- GetStoreIsolationKeyAsync -> GetIsolationKeyAsync
- UseClaimsBasedStoreIsolation -> UseClaimsBasedAgentIsolation

XML docs now state that the `Agent` prefix identifies the hosting API domain and
does not mean agent instances are isolated.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 824a2e29-e79c-42aa-b28e-aa6c12ec3292
@SergeyMenshykh SergeyMenshykh changed the title .NET: [BREAKING] Rename store isolation key provider .NET: [BREAKING] Rename to AgentIsolationKeyProvider Aug 7, 2026
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 824a2e29-e79c-42aa-b28e-aa6c12ec3292
@SergeyMenshykh
SergeyMenshykh added this pull request to the merge queue Aug 7, 2026
Merged via the queue into microsoft:main with commit c987529 Aug 7, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking change Usage: [PRs], Target: all PRs that introduce changes that are not backward compatible documentation Usage: [Issues, PRs], Target: documentation in the code base and learn docs .NET Usage: [Issues, PRs], Target: .Net

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants